class Shizu():
    def func_art(self):
        print("使用祖传技能")


# 现在有一个师傅类
class Master(Shizu):

    def __init__(self):
        self.speciality = '算盘'  # 师傅有一个特长：算盘
        self.__money = 20000

    def art(self):
        print("能够用{}算账".format(self.speciality))  # 师傅能用算盘算账

    def art_1(self):
        print("能够使用账本记账")

    def __func1(self):
        print("师父的秘密技能")


class Student(Master):

    def art(self):
        # 覆盖父类的方法
        print("学生也能算账")

    def art_1(self):
        # # 先调用父类的方法
        # super().art_1()
        Master.art_1(self)
        print("还能使用excel记账")

    def action(self):
        self.art()

    def get_func(self):
        self.func_art()

    def printMasterSpeciality(self):
        # 子类中能够直接使用父类的实例属性
        print(self.speciality)
        # 子类中能够直接使用父类的实例方法
        self.art()
        # 子类中不能直接调用父类的私有属性
        # print(self.__money)
        # 子类中不能直接调用父类的私有方法
        # self.__func1()


xiaoming = Student()
xiaoming.art_1()
# xiaoming.get_func()
# xiaoming.action()
# xiaoming.art()
# xiaoming.printMasterSpeciality()

# 子类实例化的对象，可以直接使用父类的：实例属性
# print(xiaoming.speciality)
# 子类实例化的对象，可以直接使用父类的：实例方法
# xiaoming.art()
# 子类实例化的对象，不可以使用父类的：私有属性
# print(xiaoming.__money)
